/*
 * Copyright (c) 2025, Oracle and/or its affiliates.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License, version 2.0,
 * as published by the Free Software Foundation.
 *
 * This program is designed to work with certain software (including
 * but not limited to OpenSSL) that is licensed under separate terms,
 * as designated in a particular file or component or in included license
 * documentation.  The authors of MySQL hereby grant you an additional
 * permission to link the program and your derivative works with the
 * separately licensed software that they have either included with
 * the program or referenced in the documentation.
 *
 * This program is distributed in the hope that it will be useful,  but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
 * the GNU General Public License, version 2.0, for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software Foundation, Inc.,
 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 */

// clang-format off
static const std::unordered_map<std::string_view, std::string_view>
    k_collation_map = {
        {"armscii8_general_nopad_ci", "armscii8_general_ci"},
        {"armscii8_nopad_bin", "armscii8_bin"},
        {"ascii_general_nopad_ci", "ascii_general_ci"},
        {"ascii_nopad_bin", "ascii_bin"},
        {"big5_chinese_nopad_ci", "big5_chinese_ci"},
        {"big5_nopad_bin", "big5_bin"},
        {"cp1250_general_nopad_ci", "cp1250_general_ci"},
        {"cp1250_nopad_bin", "cp1250_bin"},
        {"cp1251_general_nopad_ci", "cp1251_general_ci"},
        {"cp1251_nopad_bin", "cp1251_bin"},
        {"cp1256_general_nopad_ci", "cp1256_general_ci"},
        {"cp1256_nopad_bin", "cp1256_bin"},
        {"cp1257_general_nopad_ci", "cp1257_general_ci"},
        {"cp1257_nopad_bin", "cp1257_bin"},
        {"cp850_general_nopad_ci", "cp850_general_ci"},
        {"cp850_nopad_bin", "cp850_bin"},
        {"cp852_general_nopad_ci", "cp852_general_ci"},
        {"cp852_nopad_bin", "cp852_bin"},
        {"cp866_general_nopad_ci", "cp866_general_ci"},
        {"cp866_nopad_bin", "cp866_bin"},
        {"cp932_japanese_nopad_ci", "cp932_japanese_ci"},
        {"cp932_nopad_bin", "cp932_bin"},
        {"dec8_nopad_bin", "dec8_bin"},
        {"dec8_swedish_nopad_ci", "dec8_swedish_ci"},
        {"eucjpms_japanese_nopad_ci", "eucjpms_japanese_ci"},
        {"eucjpms_nopad_bin", "eucjpms_bin"},
        {"euckr_korean_nopad_ci", "euckr_korean_ci"},
        {"euckr_nopad_bin", "euckr_bin"},
        {"gb2312_chinese_nopad_ci", "gb2312_chinese_ci"},
        {"gb2312_nopad_bin", "gb2312_bin"},
        {"gbk_chinese_nopad_ci", "gbk_chinese_ci"},
        {"gbk_nopad_bin", "gbk_bin"},
        {"geostd8_general_nopad_ci", "geostd8_general_ci"},
        {"geostd8_nopad_bin", "geostd8_bin"},
        {"greek_general_nopad_ci", "greek_general_ci"},
        {"greek_nopad_bin", "greek_bin"},
        {"hebrew_general_nopad_ci", "hebrew_general_ci"},
        {"hebrew_nopad_bin", "hebrew_bin"},
        {"hp8_english_nopad_ci", "hp8_english_ci"},
        {"hp8_nopad_bin", "hp8_bin"},
        {"keybcs2_general_nopad_ci", "keybcs2_general_ci"},
        {"keybcs2_nopad_bin", "keybcs2_bin"},
        {"koi8r_general_nopad_ci", "koi8r_general_ci"},
        {"koi8r_nopad_bin", "koi8r_bin"},
        {"koi8u_general_nopad_ci", "koi8u_general_ci"},
        {"koi8u_nopad_bin", "koi8u_bin"},
        {"latin1_nopad_bin", "latin1_bin"},
        {"latin1_swedish_nopad_ci", "latin1_swedish_ci"},
        {"latin2_general_nopad_ci", "latin2_general_ci"},
        {"latin2_nopad_bin", "latin2_bin"},
        {"latin5_nopad_bin", "latin5_bin"},
        {"latin5_turkish_nopad_ci", "latin5_turkish_ci"},
        {"latin7_general_nopad_ci", "latin7_general_ci"},
        {"latin7_nopad_bin", "latin7_bin"},
        {"macce_general_nopad_ci", "macce_general_ci"},
        {"macce_nopad_bin", "macce_bin"},
        {"macroman_general_nopad_ci", "macroman_general_ci"},
        {"macroman_nopad_bin", "macroman_bin"},
        {"sjis_japanese_nopad_ci", "sjis_japanese_ci"},
        {"sjis_nopad_bin", "sjis_bin"},
        {"swe7_nopad_bin", "swe7_bin"},
        {"swe7_swedish_nopad_ci", "swe7_swedish_ci"},
        {"tis620_nopad_bin", "tis620_bin"},
        {"tis620_thai_nopad_ci", "tis620_thai_ci"},
        {"uca1400_ai_ci", "utf8mb4_0900_ai_ci"},
        {"uca1400_ai_cs", "utf8mb4_0900_as_cs"},
        {"uca1400_as_ci", "utf8mb4_0900_as_ci"},
        {"uca1400_as_cs", "utf8mb4_0900_as_cs"},
        {"uca1400_croatian_ai_ci", "utf8mb4_hr_0900_ai_ci"},
        {"uca1400_croatian_ai_cs", "utf8mb4_hr_0900_as_cs"},
        {"uca1400_croatian_as_ci", "utf8mb4_hr_0900_ai_ci"},
        {"uca1400_croatian_as_cs", "utf8mb4_hr_0900_as_cs"},
        {"uca1400_croatian_nopad_ai_ci", "utf8mb4_hr_0900_ai_ci"},
        {"uca1400_croatian_nopad_ai_cs", "utf8mb4_hr_0900_as_cs"},
        {"uca1400_croatian_nopad_as_ci", "utf8mb4_hr_0900_ai_ci"},
        {"uca1400_croatian_nopad_as_cs", "utf8mb4_hr_0900_as_cs"},
        {"uca1400_czech_ai_ci", "utf8mb4_cs_0900_ai_ci"},
        {"uca1400_czech_ai_cs", "utf8mb4_cs_0900_as_cs"},
        {"uca1400_czech_as_ci", "utf8mb4_cs_0900_ai_ci"},
        {"uca1400_czech_as_cs", "utf8mb4_cs_0900_as_cs"},
        {"uca1400_czech_nopad_ai_ci", "utf8mb4_cs_0900_ai_ci"},
        {"uca1400_czech_nopad_ai_cs", "utf8mb4_cs_0900_as_cs"},
        {"uca1400_czech_nopad_as_ci", "utf8mb4_cs_0900_ai_ci"},
        {"uca1400_czech_nopad_as_cs", "utf8mb4_cs_0900_as_cs"},
        {"uca1400_danish_ai_ci", "utf8mb4_da_0900_ai_ci"},
        {"uca1400_danish_ai_cs", "utf8mb4_da_0900_as_cs"},
        {"uca1400_danish_as_ci", "utf8mb4_da_0900_ai_ci"},
        {"uca1400_danish_as_cs", "utf8mb4_da_0900_as_cs"},
        {"uca1400_danish_nopad_ai_ci", "utf8mb4_da_0900_ai_ci"},
        {"uca1400_danish_nopad_ai_cs", "utf8mb4_da_0900_as_cs"},
        {"uca1400_danish_nopad_as_ci", "utf8mb4_da_0900_ai_ci"},
        {"uca1400_danish_nopad_as_cs", "utf8mb4_da_0900_as_cs"},
        {"uca1400_esperanto_ai_ci", "utf8mb4_eo_0900_ai_ci"},
        {"uca1400_esperanto_ai_cs", "utf8mb4_eo_0900_as_cs"},
        {"uca1400_esperanto_as_ci", "utf8mb4_eo_0900_ai_ci"},
        {"uca1400_esperanto_as_cs", "utf8mb4_eo_0900_as_cs"},
        {"uca1400_esperanto_nopad_ai_ci", "utf8mb4_eo_0900_ai_ci"},
        {"uca1400_esperanto_nopad_ai_cs", "utf8mb4_eo_0900_as_cs"},
        {"uca1400_esperanto_nopad_as_ci", "utf8mb4_eo_0900_ai_ci"},
        {"uca1400_esperanto_nopad_as_cs", "utf8mb4_eo_0900_as_cs"},
        {"uca1400_estonian_ai_ci", "utf8mb4_et_0900_ai_ci"},
        {"uca1400_estonian_ai_cs", "utf8mb4_et_0900_as_cs"},
        {"uca1400_estonian_as_ci", "utf8mb4_et_0900_ai_ci"},
        {"uca1400_estonian_as_cs", "utf8mb4_et_0900_as_cs"},
        {"uca1400_estonian_nopad_ai_ci", "utf8mb4_et_0900_ai_ci"},
        {"uca1400_estonian_nopad_ai_cs", "utf8mb4_et_0900_as_cs"},
        {"uca1400_estonian_nopad_as_ci", "utf8mb4_et_0900_ai_ci"},
        {"uca1400_estonian_nopad_as_cs", "utf8mb4_et_0900_as_cs"},
        {"uca1400_german2_ai_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"uca1400_german2_ai_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"uca1400_german2_as_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"uca1400_german2_as_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"uca1400_german2_nopad_ai_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"uca1400_german2_nopad_ai_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"uca1400_german2_nopad_as_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"uca1400_german2_nopad_as_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"uca1400_hungarian_ai_ci", "utf8mb4_hu_0900_ai_ci"},
        {"uca1400_hungarian_ai_cs", "utf8mb4_hu_0900_as_cs"},
        {"uca1400_hungarian_as_ci", "utf8mb4_hu_0900_ai_ci"},
        {"uca1400_hungarian_as_cs", "utf8mb4_hu_0900_as_cs"},
        {"uca1400_hungarian_nopad_ai_ci", "utf8mb4_hu_0900_ai_ci"},
        {"uca1400_hungarian_nopad_ai_cs", "utf8mb4_hu_0900_as_cs"},
        {"uca1400_hungarian_nopad_as_ci", "utf8mb4_hu_0900_ai_ci"},
        {"uca1400_hungarian_nopad_as_cs", "utf8mb4_hu_0900_as_cs"},
        {"uca1400_icelandic_ai_ci", "utf8mb4_is_0900_ai_ci"},
        {"uca1400_icelandic_ai_cs", "utf8mb4_is_0900_as_cs"},
        {"uca1400_icelandic_as_ci", "utf8mb4_is_0900_ai_ci"},
        {"uca1400_icelandic_as_cs", "utf8mb4_is_0900_as_cs"},
        {"uca1400_icelandic_nopad_ai_ci", "utf8mb4_is_0900_ai_ci"},
        {"uca1400_icelandic_nopad_ai_cs", "utf8mb4_is_0900_as_cs"},
        {"uca1400_icelandic_nopad_as_ci", "utf8mb4_is_0900_ai_ci"},
        {"uca1400_icelandic_nopad_as_cs", "utf8mb4_is_0900_as_cs"},
        {"uca1400_latvian_ai_ci", "utf8mb4_lv_0900_ai_ci"},
        {"uca1400_latvian_ai_cs", "utf8mb4_lv_0900_as_cs"},
        {"uca1400_latvian_as_ci", "utf8mb4_lv_0900_ai_ci"},
        {"uca1400_latvian_as_cs", "utf8mb4_lv_0900_as_cs"},
        {"uca1400_latvian_nopad_ai_ci", "utf8mb4_lv_0900_ai_ci"},
        {"uca1400_latvian_nopad_ai_cs", "utf8mb4_lv_0900_as_cs"},
        {"uca1400_latvian_nopad_as_ci", "utf8mb4_lv_0900_ai_ci"},
        {"uca1400_latvian_nopad_as_cs", "utf8mb4_lv_0900_as_cs"},
        {"uca1400_lithuanian_ai_ci", "utf8mb4_lt_0900_ai_ci"},
        {"uca1400_lithuanian_ai_cs", "utf8mb4_lt_0900_as_cs"},
        {"uca1400_lithuanian_as_ci", "utf8mb4_lt_0900_ai_ci"},
        {"uca1400_lithuanian_as_cs", "utf8mb4_lt_0900_as_cs"},
        {"uca1400_lithuanian_nopad_ai_ci", "utf8mb4_lt_0900_ai_ci"},
        {"uca1400_lithuanian_nopad_ai_cs", "utf8mb4_lt_0900_as_cs"},
        {"uca1400_lithuanian_nopad_as_ci", "utf8mb4_lt_0900_ai_ci"},
        {"uca1400_lithuanian_nopad_as_cs", "utf8mb4_lt_0900_as_cs"},
        {"uca1400_nopad_ai_ci", "utf8mb4_0900_ai_ci"},
        {"uca1400_nopad_ai_cs", "utf8mb4_0900_as_cs"},
        {"uca1400_nopad_as_ci", "utf8mb4_0900_as_ci"},
        {"uca1400_nopad_as_cs", "utf8mb4_0900_as_cs"},
        {"uca1400_persian_ai_ci", "utf8mb4_persian_ci"},
        {"uca1400_persian_ai_cs", "utf8mb4_persian_ci"},
        {"uca1400_persian_as_ci", "utf8mb4_persian_ci"},
        {"uca1400_persian_as_cs", "utf8mb4_persian_ci"},
        {"uca1400_persian_nopad_ai_ci", "utf8mb4_persian_ci"},
        {"uca1400_persian_nopad_ai_cs", "utf8mb4_persian_ci"},
        {"uca1400_persian_nopad_as_ci", "utf8mb4_persian_ci"},
        {"uca1400_persian_nopad_as_cs", "utf8mb4_persian_ci"},
        {"uca1400_polish_ai_ci", "utf8mb4_pl_0900_ai_ci"},
        {"uca1400_polish_ai_cs", "utf8mb4_pl_0900_as_cs"},
        {"uca1400_polish_as_ci", "utf8mb4_pl_0900_ai_ci"},
        {"uca1400_polish_as_cs", "utf8mb4_pl_0900_as_cs"},
        {"uca1400_polish_nopad_ai_ci", "utf8mb4_pl_0900_ai_ci"},
        {"uca1400_polish_nopad_ai_cs", "utf8mb4_pl_0900_as_cs"},
        {"uca1400_polish_nopad_as_ci", "utf8mb4_pl_0900_ai_ci"},
        {"uca1400_polish_nopad_as_cs", "utf8mb4_pl_0900_as_cs"},
        {"uca1400_roman_ai_ci", "utf8mb4_la_0900_ai_ci"},
        {"uca1400_roman_ai_cs", "utf8mb4_la_0900_as_cs"},
        {"uca1400_roman_as_ci", "utf8mb4_la_0900_ai_ci"},
        {"uca1400_roman_as_cs", "utf8mb4_la_0900_as_cs"},
        {"uca1400_roman_nopad_ai_ci", "utf8mb4_la_0900_ai_ci"},
        {"uca1400_roman_nopad_ai_cs", "utf8mb4_la_0900_as_cs"},
        {"uca1400_roman_nopad_as_ci", "utf8mb4_la_0900_ai_ci"},
        {"uca1400_roman_nopad_as_cs", "utf8mb4_la_0900_as_cs"},
        {"uca1400_romanian_ai_ci", "utf8mb4_ro_0900_ai_ci"},
        {"uca1400_romanian_ai_cs", "utf8mb4_ro_0900_as_cs"},
        {"uca1400_romanian_as_ci", "utf8mb4_ro_0900_ai_ci"},
        {"uca1400_romanian_as_cs", "utf8mb4_ro_0900_as_cs"},
        {"uca1400_romanian_nopad_ai_ci", "utf8mb4_ro_0900_ai_ci"},
        {"uca1400_romanian_nopad_ai_cs", "utf8mb4_ro_0900_as_cs"},
        {"uca1400_romanian_nopad_as_ci", "utf8mb4_ro_0900_ai_ci"},
        {"uca1400_romanian_nopad_as_cs", "utf8mb4_ro_0900_as_cs"},
        {"uca1400_sinhala_ai_ci", "utf8mb4_sinhala_ci"},
        {"uca1400_sinhala_ai_cs", "utf8mb4_sinhala_ci"},
        {"uca1400_sinhala_as_ci", "utf8mb4_sinhala_ci"},
        {"uca1400_sinhala_as_cs", "utf8mb4_sinhala_ci"},
        {"uca1400_sinhala_nopad_ai_ci", "utf8mb4_sinhala_ci"},
        {"uca1400_sinhala_nopad_ai_cs", "utf8mb4_sinhala_ci"},
        {"uca1400_sinhala_nopad_as_ci", "utf8mb4_sinhala_ci"},
        {"uca1400_sinhala_nopad_as_cs", "utf8mb4_sinhala_ci"},
        {"uca1400_slovak_ai_ci", "utf8mb4_sk_0900_ai_ci"},
        {"uca1400_slovak_ai_cs", "utf8mb4_sk_0900_as_cs"},
        {"uca1400_slovak_as_ci", "utf8mb4_sk_0900_ai_ci"},
        {"uca1400_slovak_as_cs", "utf8mb4_sk_0900_as_cs"},
        {"uca1400_slovak_nopad_ai_ci", "utf8mb4_sk_0900_ai_ci"},
        {"uca1400_slovak_nopad_ai_cs", "utf8mb4_sk_0900_as_cs"},
        {"uca1400_slovak_nopad_as_ci", "utf8mb4_sk_0900_ai_ci"},
        {"uca1400_slovak_nopad_as_cs", "utf8mb4_sk_0900_as_cs"},
        {"uca1400_slovenian_ai_ci", "utf8mb4_sl_0900_ai_ci"},
        {"uca1400_slovenian_ai_cs", "utf8mb4_sl_0900_as_cs"},
        {"uca1400_slovenian_as_ci", "utf8mb4_sl_0900_ai_ci"},
        {"uca1400_slovenian_as_cs", "utf8mb4_sl_0900_as_cs"},
        {"uca1400_slovenian_nopad_ai_ci", "utf8mb4_sl_0900_ai_ci"},
        {"uca1400_slovenian_nopad_ai_cs", "utf8mb4_sl_0900_as_cs"},
        {"uca1400_slovenian_nopad_as_ci", "utf8mb4_sl_0900_ai_ci"},
        {"uca1400_slovenian_nopad_as_cs", "utf8mb4_sl_0900_as_cs"},
        {"uca1400_spanish2_ai_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"uca1400_spanish2_ai_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"uca1400_spanish2_as_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"uca1400_spanish2_as_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"uca1400_spanish2_nopad_ai_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"uca1400_spanish2_nopad_ai_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"uca1400_spanish2_nopad_as_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"uca1400_spanish2_nopad_as_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"uca1400_spanish_ai_ci", "utf8mb4_es_0900_ai_ci"},
        {"uca1400_spanish_ai_cs", "utf8mb4_es_0900_as_cs"},
        {"uca1400_spanish_as_ci", "utf8mb4_es_0900_ai_ci"},
        {"uca1400_spanish_as_cs", "utf8mb4_es_0900_as_cs"},
        {"uca1400_spanish_nopad_ai_ci", "utf8mb4_es_0900_ai_ci"},
        {"uca1400_spanish_nopad_ai_cs", "utf8mb4_es_0900_as_cs"},
        {"uca1400_spanish_nopad_as_ci", "utf8mb4_es_0900_ai_ci"},
        {"uca1400_spanish_nopad_as_cs", "utf8mb4_es_0900_as_cs"},
        {"uca1400_swedish_ai_ci", "utf8mb4_sv_0900_ai_ci"},
        {"uca1400_swedish_ai_cs", "utf8mb4_sv_0900_as_cs"},
        {"uca1400_swedish_as_ci", "utf8mb4_sv_0900_ai_ci"},
        {"uca1400_swedish_as_cs", "utf8mb4_sv_0900_as_cs"},
        {"uca1400_swedish_nopad_ai_ci", "utf8mb4_sv_0900_ai_ci"},
        {"uca1400_swedish_nopad_ai_cs", "utf8mb4_sv_0900_as_cs"},
        {"uca1400_swedish_nopad_as_ci", "utf8mb4_sv_0900_ai_ci"},
        {"uca1400_swedish_nopad_as_cs", "utf8mb4_sv_0900_as_cs"},
        {"uca1400_turkish_ai_ci", "utf8mb4_tr_0900_ai_ci"},
        {"uca1400_turkish_ai_cs", "utf8mb4_tr_0900_as_cs"},
        {"uca1400_turkish_as_ci", "utf8mb4_tr_0900_ai_ci"},
        {"uca1400_turkish_as_cs", "utf8mb4_tr_0900_as_cs"},
        {"uca1400_turkish_nopad_ai_ci", "utf8mb4_tr_0900_ai_ci"},
        {"uca1400_turkish_nopad_ai_cs", "utf8mb4_tr_0900_as_cs"},
        {"uca1400_turkish_nopad_as_ci", "utf8mb4_tr_0900_ai_ci"},
        {"uca1400_turkish_nopad_as_cs", "utf8mb4_tr_0900_as_cs"},
        {"uca1400_vietnamese_ai_ci", "utf8mb4_vi_0900_ai_ci"},
        {"uca1400_vietnamese_ai_cs", "utf8mb4_vi_0900_as_cs"},
        {"uca1400_vietnamese_as_ci", "utf8mb4_vi_0900_ai_ci"},
        {"uca1400_vietnamese_as_cs", "utf8mb4_vi_0900_as_cs"},
        {"uca1400_vietnamese_nopad_ai_ci", "utf8mb4_vi_0900_ai_ci"},
        {"uca1400_vietnamese_nopad_ai_cs", "utf8mb4_vi_0900_as_cs"},
        {"uca1400_vietnamese_nopad_as_ci", "utf8mb4_vi_0900_ai_ci"},
        {"uca1400_vietnamese_nopad_as_cs", "utf8mb4_vi_0900_as_cs"},
        {"ucs2_croatian_mysql561_ci", "ucs2_croatian_ci"},
        {"ucs2_general_nopad_ci", "ucs2_general_ci"},
        {"ucs2_nopad_bin", "ucs2_bin"},
        {"ucs2_unicode_520_nopad_ci", "ucs2_unicode_520_ci"},
        {"ucs2_unicode_nopad_ci", "ucs2_unicode_ci"},
        {"ujis_japanese_nopad_ci", "ujis_japanese_ci"},
        {"ujis_nopad_bin", "ujis_bin"},
        {"utf16_croatian_mysql561_ci", "utf16_croatian_ci"},
        {"utf16_general_nopad_ci", "utf16_general_ci"},
        {"utf16_nopad_bin", "utf16_bin"},
        {"utf16_unicode_520_nopad_ci", "utf16_unicode_520_ci"},
        {"utf16_unicode_nopad_ci", "utf16_unicode_ci"},
        {"utf16le_general_nopad_ci", "utf16le_general_ci"},
        {"utf16le_nopad_bin", "utf16le_bin"},
        {"utf32_croatian_mysql561_ci", "utf32_croatian_ci"},
        {"utf32_general_nopad_ci", "utf32_general_ci"},
        {"utf32_nopad_bin", "utf32_bin"},
        {"utf32_unicode_520_nopad_ci", "utf32_unicode_520_ci"},
        {"utf32_unicode_nopad_ci", "utf32_unicode_ci"},
        {"utf8mb3_croatian_mysql561_ci", "utf8mb3_croatian_ci"},
        {"utf8mb3_general1400_as_ci", "utf8mb3_general_ci"},
        {"utf8mb3_general_nopad_ci", "utf8mb3_general_ci"},
        {"utf8mb3_nopad_bin", "utf8mb3_bin"},
        {"utf8mb3_unicode_520_nopad_ci", "utf8mb3_unicode_520_ci"},
        {"utf8mb3_unicode_nopad_ci", "utf8mb3_unicode_ci"},
        {"utf8mb4_croatian_mysql561_ci", "utf8mb4_croatian_ci"},
        {"utf8mb4_general1400_as_ci", "utf8mb4_general_ci"},
        {"utf8mb4_general_nopad_ci", "utf8mb4_general_ci"},
        {"utf8mb4_nopad_bin", "utf8mb4_bin"},
        {"utf8mb4_uca1400_ai_ci", "utf8mb4_0900_ai_ci"},
        {"utf8mb4_uca1400_ai_cs", "utf8mb4_0900_as_cs"},
        {"utf8mb4_uca1400_as_ci", "utf8mb4_0900_as_ci"},
        {"utf8mb4_uca1400_as_cs", "utf8mb4_0900_as_cs"},
        {"utf8mb4_uca1400_croatian_ai_ci", "utf8mb4_hr_0900_ai_ci"},
        {"utf8mb4_uca1400_croatian_ai_cs", "utf8mb4_hr_0900_as_cs"},
        {"utf8mb4_uca1400_croatian_as_ci", "utf8mb4_hr_0900_ai_ci"},
        {"utf8mb4_uca1400_croatian_as_cs", "utf8mb4_hr_0900_as_cs"},
        {"utf8mb4_uca1400_croatian_nopad_ai_ci", "utf8mb4_hr_0900_ai_ci"},
        {"utf8mb4_uca1400_croatian_nopad_ai_cs", "utf8mb4_hr_0900_as_cs"},
        {"utf8mb4_uca1400_croatian_nopad_as_ci", "utf8mb4_hr_0900_ai_ci"},
        {"utf8mb4_uca1400_croatian_nopad_as_cs", "utf8mb4_hr_0900_as_cs"},
        {"utf8mb4_uca1400_czech_ai_ci", "utf8mb4_cs_0900_ai_ci"},
        {"utf8mb4_uca1400_czech_ai_cs", "utf8mb4_cs_0900_as_cs"},
        {"utf8mb4_uca1400_czech_as_ci", "utf8mb4_cs_0900_ai_ci"},
        {"utf8mb4_uca1400_czech_as_cs", "utf8mb4_cs_0900_as_cs"},
        {"utf8mb4_uca1400_czech_nopad_ai_ci", "utf8mb4_cs_0900_ai_ci"},
        {"utf8mb4_uca1400_czech_nopad_ai_cs", "utf8mb4_cs_0900_as_cs"},
        {"utf8mb4_uca1400_czech_nopad_as_ci", "utf8mb4_cs_0900_ai_ci"},
        {"utf8mb4_uca1400_czech_nopad_as_cs", "utf8mb4_cs_0900_as_cs"},
        {"utf8mb4_uca1400_danish_ai_ci", "utf8mb4_da_0900_ai_ci"},
        {"utf8mb4_uca1400_danish_ai_cs", "utf8mb4_da_0900_as_cs"},
        {"utf8mb4_uca1400_danish_as_ci", "utf8mb4_da_0900_ai_ci"},
        {"utf8mb4_uca1400_danish_as_cs", "utf8mb4_da_0900_as_cs"},
        {"utf8mb4_uca1400_danish_nopad_ai_ci", "utf8mb4_da_0900_ai_ci"},
        {"utf8mb4_uca1400_danish_nopad_ai_cs", "utf8mb4_da_0900_as_cs"},
        {"utf8mb4_uca1400_danish_nopad_as_ci", "utf8mb4_da_0900_ai_ci"},
        {"utf8mb4_uca1400_danish_nopad_as_cs", "utf8mb4_da_0900_as_cs"},
        {"utf8mb4_uca1400_esperanto_ai_ci", "utf8mb4_eo_0900_ai_ci"},
        {"utf8mb4_uca1400_esperanto_ai_cs", "utf8mb4_eo_0900_as_cs"},
        {"utf8mb4_uca1400_esperanto_as_ci", "utf8mb4_eo_0900_ai_ci"},
        {"utf8mb4_uca1400_esperanto_as_cs", "utf8mb4_eo_0900_as_cs"},
        {"utf8mb4_uca1400_esperanto_nopad_ai_ci", "utf8mb4_eo_0900_ai_ci"},
        {"utf8mb4_uca1400_esperanto_nopad_ai_cs", "utf8mb4_eo_0900_as_cs"},
        {"utf8mb4_uca1400_esperanto_nopad_as_ci", "utf8mb4_eo_0900_ai_ci"},
        {"utf8mb4_uca1400_esperanto_nopad_as_cs", "utf8mb4_eo_0900_as_cs"},
        {"utf8mb4_uca1400_estonian_ai_ci", "utf8mb4_et_0900_ai_ci"},
        {"utf8mb4_uca1400_estonian_ai_cs", "utf8mb4_et_0900_as_cs"},
        {"utf8mb4_uca1400_estonian_as_ci", "utf8mb4_et_0900_ai_ci"},
        {"utf8mb4_uca1400_estonian_as_cs", "utf8mb4_et_0900_as_cs"},
        {"utf8mb4_uca1400_estonian_nopad_ai_ci", "utf8mb4_et_0900_ai_ci"},
        {"utf8mb4_uca1400_estonian_nopad_ai_cs", "utf8mb4_et_0900_as_cs"},
        {"utf8mb4_uca1400_estonian_nopad_as_ci", "utf8mb4_et_0900_ai_ci"},
        {"utf8mb4_uca1400_estonian_nopad_as_cs", "utf8mb4_et_0900_as_cs"},
        {"utf8mb4_uca1400_german2_ai_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"utf8mb4_uca1400_german2_ai_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"utf8mb4_uca1400_german2_as_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"utf8mb4_uca1400_german2_as_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"utf8mb4_uca1400_german2_nopad_ai_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"utf8mb4_uca1400_german2_nopad_ai_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"utf8mb4_uca1400_german2_nopad_as_ci", "utf8mb4_de_pb_0900_ai_ci"},
        {"utf8mb4_uca1400_german2_nopad_as_cs", "utf8mb4_de_pb_0900_as_cs"},
        {"utf8mb4_uca1400_hungarian_ai_ci", "utf8mb4_hu_0900_ai_ci"},
        {"utf8mb4_uca1400_hungarian_ai_cs", "utf8mb4_hu_0900_as_cs"},
        {"utf8mb4_uca1400_hungarian_as_ci", "utf8mb4_hu_0900_ai_ci"},
        {"utf8mb4_uca1400_hungarian_as_cs", "utf8mb4_hu_0900_as_cs"},
        {"utf8mb4_uca1400_hungarian_nopad_ai_ci", "utf8mb4_hu_0900_ai_ci"},
        {"utf8mb4_uca1400_hungarian_nopad_ai_cs", "utf8mb4_hu_0900_as_cs"},
        {"utf8mb4_uca1400_hungarian_nopad_as_ci", "utf8mb4_hu_0900_ai_ci"},
        {"utf8mb4_uca1400_hungarian_nopad_as_cs", "utf8mb4_hu_0900_as_cs"},
        {"utf8mb4_uca1400_icelandic_ai_ci", "utf8mb4_is_0900_ai_ci"},
        {"utf8mb4_uca1400_icelandic_ai_cs", "utf8mb4_is_0900_as_cs"},
        {"utf8mb4_uca1400_icelandic_as_ci", "utf8mb4_is_0900_ai_ci"},
        {"utf8mb4_uca1400_icelandic_as_cs", "utf8mb4_is_0900_as_cs"},
        {"utf8mb4_uca1400_icelandic_nopad_ai_ci", "utf8mb4_is_0900_ai_ci"},
        {"utf8mb4_uca1400_icelandic_nopad_ai_cs", "utf8mb4_is_0900_as_cs"},
        {"utf8mb4_uca1400_icelandic_nopad_as_ci", "utf8mb4_is_0900_ai_ci"},
        {"utf8mb4_uca1400_icelandic_nopad_as_cs", "utf8mb4_is_0900_as_cs"},
        {"utf8mb4_uca1400_latvian_ai_ci", "utf8mb4_lv_0900_ai_ci"},
        {"utf8mb4_uca1400_latvian_ai_cs", "utf8mb4_lv_0900_as_cs"},
        {"utf8mb4_uca1400_latvian_as_ci", "utf8mb4_lv_0900_ai_ci"},
        {"utf8mb4_uca1400_latvian_as_cs", "utf8mb4_lv_0900_as_cs"},
        {"utf8mb4_uca1400_latvian_nopad_ai_ci", "utf8mb4_lv_0900_ai_ci"},
        {"utf8mb4_uca1400_latvian_nopad_ai_cs", "utf8mb4_lv_0900_as_cs"},
        {"utf8mb4_uca1400_latvian_nopad_as_ci", "utf8mb4_lv_0900_ai_ci"},
        {"utf8mb4_uca1400_latvian_nopad_as_cs", "utf8mb4_lv_0900_as_cs"},
        {"utf8mb4_uca1400_lithuanian_ai_ci", "utf8mb4_lt_0900_ai_ci"},
        {"utf8mb4_uca1400_lithuanian_ai_cs", "utf8mb4_lt_0900_as_cs"},
        {"utf8mb4_uca1400_lithuanian_as_ci", "utf8mb4_lt_0900_ai_ci"},
        {"utf8mb4_uca1400_lithuanian_as_cs", "utf8mb4_lt_0900_as_cs"},
        {"utf8mb4_uca1400_lithuanian_nopad_ai_ci", "utf8mb4_lt_0900_ai_ci"},
        {"utf8mb4_uca1400_lithuanian_nopad_ai_cs", "utf8mb4_lt_0900_as_cs"},
        {"utf8mb4_uca1400_lithuanian_nopad_as_ci", "utf8mb4_lt_0900_ai_ci"},
        {"utf8mb4_uca1400_lithuanian_nopad_as_cs", "utf8mb4_lt_0900_as_cs"},
        {"utf8mb4_uca1400_nopad_ai_ci", "utf8mb4_0900_ai_ci"},
        {"utf8mb4_uca1400_nopad_ai_cs", "utf8mb4_0900_as_cs"},
        {"utf8mb4_uca1400_nopad_as_ci", "utf8mb4_0900_as_ci"},
        {"utf8mb4_uca1400_nopad_as_cs", "utf8mb4_0900_as_cs"},
        {"utf8mb4_uca1400_persian_ai_ci", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_persian_ai_cs", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_persian_as_ci", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_persian_as_cs", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_persian_nopad_ai_ci", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_persian_nopad_ai_cs", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_persian_nopad_as_ci", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_persian_nopad_as_cs", "utf8mb4_persian_ci"},
        {"utf8mb4_uca1400_polish_ai_ci", "utf8mb4_pl_0900_ai_ci"},
        {"utf8mb4_uca1400_polish_ai_cs", "utf8mb4_pl_0900_as_cs"},
        {"utf8mb4_uca1400_polish_as_ci", "utf8mb4_pl_0900_ai_ci"},
        {"utf8mb4_uca1400_polish_as_cs", "utf8mb4_pl_0900_as_cs"},
        {"utf8mb4_uca1400_polish_nopad_ai_ci", "utf8mb4_pl_0900_ai_ci"},
        {"utf8mb4_uca1400_polish_nopad_ai_cs", "utf8mb4_pl_0900_as_cs"},
        {"utf8mb4_uca1400_polish_nopad_as_ci", "utf8mb4_pl_0900_ai_ci"},
        {"utf8mb4_uca1400_polish_nopad_as_cs", "utf8mb4_pl_0900_as_cs"},
        {"utf8mb4_uca1400_roman_ai_ci", "utf8mb4_la_0900_ai_ci"},
        {"utf8mb4_uca1400_roman_ai_cs", "utf8mb4_la_0900_as_cs"},
        {"utf8mb4_uca1400_roman_as_ci", "utf8mb4_la_0900_ai_ci"},
        {"utf8mb4_uca1400_roman_as_cs", "utf8mb4_la_0900_as_cs"},
        {"utf8mb4_uca1400_roman_nopad_ai_ci", "utf8mb4_la_0900_ai_ci"},
        {"utf8mb4_uca1400_roman_nopad_ai_cs", "utf8mb4_la_0900_as_cs"},
        {"utf8mb4_uca1400_roman_nopad_as_ci", "utf8mb4_la_0900_ai_ci"},
        {"utf8mb4_uca1400_roman_nopad_as_cs", "utf8mb4_la_0900_as_cs"},
        {"utf8mb4_uca1400_romanian_ai_ci", "utf8mb4_ro_0900_ai_ci"},
        {"utf8mb4_uca1400_romanian_ai_cs", "utf8mb4_ro_0900_as_cs"},
        {"utf8mb4_uca1400_romanian_as_ci", "utf8mb4_ro_0900_ai_ci"},
        {"utf8mb4_uca1400_romanian_as_cs", "utf8mb4_ro_0900_as_cs"},
        {"utf8mb4_uca1400_romanian_nopad_ai_ci", "utf8mb4_ro_0900_ai_ci"},
        {"utf8mb4_uca1400_romanian_nopad_ai_cs", "utf8mb4_ro_0900_as_cs"},
        {"utf8mb4_uca1400_romanian_nopad_as_ci", "utf8mb4_ro_0900_ai_ci"},
        {"utf8mb4_uca1400_romanian_nopad_as_cs", "utf8mb4_ro_0900_as_cs"},
        {"utf8mb4_uca1400_sinhala_ai_ci", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_sinhala_ai_cs", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_sinhala_as_ci", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_sinhala_as_cs", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_sinhala_nopad_ai_ci", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_sinhala_nopad_ai_cs", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_sinhala_nopad_as_ci", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_sinhala_nopad_as_cs", "utf8mb4_sinhala_ci"},
        {"utf8mb4_uca1400_slovak_ai_ci", "utf8mb4_sk_0900_ai_ci"},
        {"utf8mb4_uca1400_slovak_ai_cs", "utf8mb4_sk_0900_as_cs"},
        {"utf8mb4_uca1400_slovak_as_ci", "utf8mb4_sk_0900_ai_ci"},
        {"utf8mb4_uca1400_slovak_as_cs", "utf8mb4_sk_0900_as_cs"},
        {"utf8mb4_uca1400_slovak_nopad_ai_ci", "utf8mb4_sk_0900_ai_ci"},
        {"utf8mb4_uca1400_slovak_nopad_ai_cs", "utf8mb4_sk_0900_as_cs"},
        {"utf8mb4_uca1400_slovak_nopad_as_ci", "utf8mb4_sk_0900_ai_ci"},
        {"utf8mb4_uca1400_slovak_nopad_as_cs", "utf8mb4_sk_0900_as_cs"},
        {"utf8mb4_uca1400_slovenian_ai_ci", "utf8mb4_sl_0900_ai_ci"},
        {"utf8mb4_uca1400_slovenian_ai_cs", "utf8mb4_sl_0900_as_cs"},
        {"utf8mb4_uca1400_slovenian_as_ci", "utf8mb4_sl_0900_ai_ci"},
        {"utf8mb4_uca1400_slovenian_as_cs", "utf8mb4_sl_0900_as_cs"},
        {"utf8mb4_uca1400_slovenian_nopad_ai_ci", "utf8mb4_sl_0900_ai_ci"},
        {"utf8mb4_uca1400_slovenian_nopad_ai_cs", "utf8mb4_sl_0900_as_cs"},
        {"utf8mb4_uca1400_slovenian_nopad_as_ci", "utf8mb4_sl_0900_ai_ci"},
        {"utf8mb4_uca1400_slovenian_nopad_as_cs", "utf8mb4_sl_0900_as_cs"},
        {"utf8mb4_uca1400_spanish2_ai_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish2_ai_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"utf8mb4_uca1400_spanish2_as_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish2_as_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"utf8mb4_uca1400_spanish2_nopad_ai_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish2_nopad_ai_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"utf8mb4_uca1400_spanish2_nopad_as_ci", "utf8mb4_es_trad_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish2_nopad_as_cs", "utf8mb4_es_trad_0900_as_cs"},
        {"utf8mb4_uca1400_spanish_ai_ci", "utf8mb4_es_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish_ai_cs", "utf8mb4_es_0900_as_cs"},
        {"utf8mb4_uca1400_spanish_as_ci", "utf8mb4_es_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish_as_cs", "utf8mb4_es_0900_as_cs"},
        {"utf8mb4_uca1400_spanish_nopad_ai_ci", "utf8mb4_es_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish_nopad_ai_cs", "utf8mb4_es_0900_as_cs"},
        {"utf8mb4_uca1400_spanish_nopad_as_ci", "utf8mb4_es_0900_ai_ci"},
        {"utf8mb4_uca1400_spanish_nopad_as_cs", "utf8mb4_es_0900_as_cs"},
        {"utf8mb4_uca1400_swedish_ai_ci", "utf8mb4_sv_0900_ai_ci"},
        {"utf8mb4_uca1400_swedish_ai_cs", "utf8mb4_sv_0900_as_cs"},
        {"utf8mb4_uca1400_swedish_as_ci", "utf8mb4_sv_0900_ai_ci"},
        {"utf8mb4_uca1400_swedish_as_cs", "utf8mb4_sv_0900_as_cs"},
        {"utf8mb4_uca1400_swedish_nopad_ai_ci", "utf8mb4_sv_0900_ai_ci"},
        {"utf8mb4_uca1400_swedish_nopad_ai_cs", "utf8mb4_sv_0900_as_cs"},
        {"utf8mb4_uca1400_swedish_nopad_as_ci", "utf8mb4_sv_0900_ai_ci"},
        {"utf8mb4_uca1400_swedish_nopad_as_cs", "utf8mb4_sv_0900_as_cs"},
        {"utf8mb4_uca1400_turkish_ai_ci", "utf8mb4_tr_0900_ai_ci"},
        {"utf8mb4_uca1400_turkish_ai_cs", "utf8mb4_tr_0900_as_cs"},
        {"utf8mb4_uca1400_turkish_as_ci", "utf8mb4_tr_0900_ai_ci"},
        {"utf8mb4_uca1400_turkish_as_cs", "utf8mb4_tr_0900_as_cs"},
        {"utf8mb4_uca1400_turkish_nopad_ai_ci", "utf8mb4_tr_0900_ai_ci"},
        {"utf8mb4_uca1400_turkish_nopad_ai_cs", "utf8mb4_tr_0900_as_cs"},
        {"utf8mb4_uca1400_turkish_nopad_as_ci", "utf8mb4_tr_0900_ai_ci"},
        {"utf8mb4_uca1400_turkish_nopad_as_cs", "utf8mb4_tr_0900_as_cs"},
        {"utf8mb4_uca1400_vietnamese_ai_ci", "utf8mb4_vi_0900_ai_ci"},
        {"utf8mb4_uca1400_vietnamese_ai_cs", "utf8mb4_vi_0900_as_cs"},
        {"utf8mb4_uca1400_vietnamese_as_ci", "utf8mb4_vi_0900_ai_ci"},
        {"utf8mb4_uca1400_vietnamese_as_cs", "utf8mb4_vi_0900_as_cs"},
        {"utf8mb4_uca1400_vietnamese_nopad_ai_ci", "utf8mb4_vi_0900_ai_ci"},
        {"utf8mb4_uca1400_vietnamese_nopad_ai_cs", "utf8mb4_vi_0900_as_cs"},
        {"utf8mb4_uca1400_vietnamese_nopad_as_ci", "utf8mb4_vi_0900_ai_ci"},
        {"utf8mb4_uca1400_vietnamese_nopad_as_cs", "utf8mb4_vi_0900_as_cs"},
        {"utf8mb4_unicode_520_nopad_ci", "utf8mb4_unicode_520_ci"},
        {"utf8mb4_unicode_nopad_ci", "utf8mb4_unicode_ci"},
    };
// clang-format on

static const std::vector<std::string_view> k_unsupported_collations = {
    "ucs2_myanmar_ci",
    "ucs2_thai_520_w2",
    "utf16_myanmar_ci",
    "utf16_thai_520_w2",
    "utf32_myanmar_ci",
    "utf32_thai_520_w2",
    "utf8mb3_myanmar_ci",
    "utf8mb3_thai_520_w2",
    "utf8mb4_myanmar_ci",
    "utf8mb4_thai_520_w2",
};
